最近在开发一个类unPKG的一个代码库,选择了Fastify.js的框架,这个框架相对express.js比较小众,在配置Content-Type的时候,总是获取不到buffer二进制流。

// 增加 Content-type 解析器 -增加对buffer的支持
fastify.addContentTypeParser('*', { parseAs: 'buffer' }, function(
  req,
  body,
  done
) {
  done(null, body)
})

还有一个配置JWT

配置secret

// 配置jwt
fastify.register(jwt, {
  secret: 'test'
})

获取Token

// 监听-注册token
fastify.post('/sign', async (request, reply) => {
  const token = await reply.jwtSign(request.body)

  reply.send({ token: token })
})

解密Token

拦截所有的 onRequest 的生命周期,每次在获取请求的时候进行解密。然后返回给监听
fastify.addHook('onRequest', async (request, reply) => {
  try {
    await request.jwtVerify()
  } catch (err) {
    reply.send(err)
  }
})

Kisnnnn
46 声望5 粉丝

[链接]